home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / misc / obrn-a_1.lha / oberon-a / src_upd1.lha / source / OD / ODStrings.mod < prev   
Text File  |  1995-07-30  |  5KB  |  134 lines

  1. <* STANDARD- *> <* MAIN- *> <* INITIALISE- *>
  2.  
  3. MODULE ODStrings;
  4. (****************************************************************
  5.  
  6.    This file was created automatically by `FlexCat 1.5'
  7.    Do NOT edit by hand!
  8.    Oberon-A source description C 1994 by Albert Weinert
  9.    Using with Oberon-A Interfaces for AmigaOS Release 3.1
  10.    Modified for Oberon-A 1.5 by Frank Copeland
  11.  
  12.    Application: ODStrings
  13.    Language   : "english"
  14.    Version    : 0
  15.    Description: OBERON-A:Catalogs/ODStrings.cd
  16.  
  17. ****************************************************************)
  18.  
  19. IMPORT
  20.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  21.  
  22. CONST
  23.   builtinlanguage = "english";
  24.   version = 0;
  25.  
  26. CONST
  27.   errPrefs* = 0;
  28.   usage* = 1;
  29.   errArgs1* = 2;
  30.   errArgs2* = 3;
  31.   errIcon1* = 4;
  32.   errIcon2* = 5;
  33.   errMakeIcons* = 6;
  34.   errFileName* = 7;
  35.   errNameBuffer* = 8;
  36.   errDupName* = 9;
  37.   errExtLibs* = 10;
  38.   errCorrupt* = 11;
  39.   errForm* = 12;
  40.   errClass* = 13;
  41.   errParLists* = 14;
  42.   errFieldLists* = 15;
  43.   errBadKey* = 16;
  44.   errGlbMod* = 17;
  45.   errLocMod* = 18;
  46.   errBadTag* = 19;
  47.   errOpen* = 20;
  48.   errType* = 21;
  49.  
  50. TYPE
  51.   AppString = RECORD;
  52.      id  : LONGINT;
  53.      str : e.LSTRPTR;
  54.   END;
  55.   AppStringArray = ARRAY 22 OF AppString;
  56.  
  57. VAR
  58.   AppStrings : AppStringArray;
  59.   catalog : lo.CatalogPtr;
  60.  
  61.   PROCEDURE SetStrings;
  62.     BEGIN
  63.       AppStrings[0].id := errPrefs; AppStrings[0].str := y.ADR( " !! Could not open preferences file '%s'\n" );
  64.       AppStrings[1].id := usage; AppStrings[1].str := y.ADR( "See OD.doc for conditions of use\n" );
  65.       AppStrings[2].id := errArgs1; AppStrings[2].str := y.ADR( " !! Too many arguments: select only one argument\n" );
  66.       AppStrings[3].id := errArgs2; AppStrings[3].str := y.ADR( " !! Too few arguments: select exactly one argument\n" );
  67.       AppStrings[4].id := errIcon1; AppStrings[4].str := y.ADR( " !! Could not create icon for '%s'\n" );
  68.       AppStrings[5].id := errIcon2; AppStrings[5].str := y.ADR( " !! Could not obtain icon\n" );
  69.       AppStrings[6].id := errMakeIcons; AppStrings[6].str := y.ADR( " !! Arguments MAKEICONS and NOICONS are mutually exclusive" );
  70.       AppStrings[7].id := errFileName; AppStrings[7].str := y.ADR( " !! Could not construct file name\n" );
  71.       AppStrings[8].id := errNameBuffer; AppStrings[8].str := y.ADR( " !! Name buffer overflow\n" );
  72.       AppStrings[9].id := errDupName; AppStrings[9].str := y.ADR( " !! Name used twice\n" );
  73.       AppStrings[10].id := errExtLibs; AppStrings[10].str := y.ADR( " !! Too many external libraries\n" );
  74.       AppStrings[11].id := errCorrupt; AppStrings[11].str := y.ADR( " !! Currupt symbol file\n" );
  75.       AppStrings[12].id := errForm; AppStrings[12].str := y.ADR( " !! Unrecognised type form\n" );
  76.       AppStrings[13].id := errClass; AppStrings[13].str := y.ADR( " !! Unrecognised object class\n" );
  77.       AppStrings[14].id := errParLists; AppStrings[14].str := y.ADR( " !! Too many parameter lists\n" );
  78.       AppStrings[15].id := errFieldLists; AppStrings[15].str := y.ADR( " !! Too many field lists\n" );
  79.       AppStrings[16].id := errBadKey; AppStrings[16].str := y.ADR( " !! Bad key for imported module\n" );
  80.       AppStrings[17].id := errGlbMod; AppStrings[17].str := y.ADR( " !! Too many global modules\n" );
  81.       AppStrings[18].id := errLocMod; AppStrings[18].str := y.ADR( " !! Too many local modules\n" );
  82.       AppStrings[19].id := errBadTag; AppStrings[19].str := y.ADR( " !! Bad symbol file tag\n" );
  83.       AppStrings[20].id := errOpen; AppStrings[20].str := y.ADR( " !! Could not open '%s'\n" );
  84.       AppStrings[21].id := errType; AppStrings[21].str := y.ADR( " !! Unrecognised type\n" );
  85.     END SetStrings;
  86.  
  87.   PROCEDURE CloseCatalog*();
  88.     BEGIN
  89.       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
  90.    END CloseCatalog;
  91.  
  92.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  93.     VAR Tag : ARRAY 4 OF u.TagItem;
  94.     BEGIN
  95.       CloseCatalog();
  96.       IF (catalog = NIL) & (lo.base # NIL) THEN
  97.         Tag[0].tag := lo.builtInLanguage; Tag[0].data := y.ADR( builtinlanguage );
  98.         Tag[1].tag := u.ignore;           Tag[1].data := y.ADR( language );
  99.         Tag[2].tag := lo.version;         Tag[2].data := version;
  100.         Tag[3].tag := u.done;
  101.  
  102.         IF language # "" THEN
  103.           Tag[1].tag:= lo.language;
  104.         END;
  105.         catalog := lo.OpenCatalogA (loc, "ODStrings.catalog", Tag);
  106.       END;
  107.     END OpenCatalog;
  108.  
  109.   PROCEDURE GetString* (num: LONGINT): e.LSTRPTR;
  110.     VAR
  111.       i: LONGINT;
  112.       default: e.LSTRPTR;
  113.     BEGIN
  114.       i := 0; WHILE (i < 22) & (AppStrings[i].id # num) DO INC (i) END;
  115.  
  116.       IF i # 22 THEN
  117.         default := AppStrings[i].str;
  118.       ELSE
  119.         default := NIL;
  120.       END;
  121.  
  122.       IF catalog # NIL THEN
  123.         RETURN lo.GetCatalogStr (catalog, num, default^);
  124.       ELSE
  125.         RETURN default;
  126.       END;
  127.     END GetString;
  128.  
  129. BEGIN
  130.   catalog := NIL;
  131.   SetStrings;
  132. END ODStrings.
  133.  
  134.